Hello-world

ダウンロードと準備

簡単なエクステンションのサンプルとして、リボン上のボタンでメッセージを表示するエクステンションを、次のリンクからダウンロードできます。

ダウンロードリンク: hello-world.zip

ダウンロードした zip ファイルを展開して、manifest.json ファイルが含まれている hello-world フォルダを、次の extensions フォルダ直下にコピーします。

{ユーザーのホームパス}\AppData\Local\DENSO CREATE\Next Design\extensions\

ユーザーのホームパスの例: C:\Users\user-name

このエクステンションを自分で作成する場合は、下記の手順に従って下さい。

  • 上記の extensions フォルダ直下に hello-world フォルダを作成します。
  • hello-world フォルダに images フォルダを作成し、リボンのボタンイメージとなる About.png を用意します(32 x 32の画像を推奨します)
  • hello-world フォルダに manifest.jsonmain.cs を作成します。

manifest.json

このマニフェストでは、リボン上のボタン1つとボタンで実行するコマンド1つを定義しています。

{
  // エクステンション定義
  "name": "HelloWorld",
  "version": "1.1.0",
  "publisher": "DENSO CREATE INC.",
  "license": "Next Design 使用許諾契約書に準ずる。Copyright (C) 2019 DENSO CREATE INC. All rights reserved.",

  "main": "main.cs",            // エントリーポイントとして C# スクリプトを指定します。
  "lifecycle": "application",   // ライフサイクルとしてアプリケーションライフサイクルを指定します。

  // 拡張ポイント定義
  "extensionPoints": {
    // リボン
    "ribbon": {
      "tabs": [
        // エクステンション用に追加するリボンタブを定義します。
        {
          "id": "HelloWorld.MainTab",
          "label": "Hello World",
          "orderBefore": "System.View",
          "groups": [
            // リボンタブ内を区切るグループを定義します。
            {
              "id": "HelloWorld.FirstGroup",
              "label": "グループ1",
              "controls": [
                // Say Hello ボタンを定義します。
                {
                  "id": "HelloWorld.SayHelloButton",
                  "type": "Button",
                  "label": "Say Hello",
                  "imageLarge": "images/About.png",
                  "command": "Command.SayHello"    // 後述のコマンドに定義されるコマンドの id を指定します。
                }
              ]
            }
          ]
        }
      ]
    },

    // コマンド
    "commands": [
      // コマンドハンドラ `SayHello` を呼び出すコマンドを定義します。
      {
        "id": "Command.SayHello",
        "execFunc": "SayHello"    // エントリーポイントに実装される公開関数を指定します。
      }
    ]
  }
}

main.cs

マニフェストでエントリーポイントに指定したこの C# スクリプトでは、メッセージを表示するシンプルなコマンドハンドラを実装しています。

// コマンドハンドラの公開関数
public void SayHello(ICommandContext context,ICommandParams paramemters)
{
    App.Window.UI.ShowInformationDialog("Hello !", "Hello World");
}

実行

Next Design を起動すると次のようにリボンが表示されます。

リボン

Say Hello ボタンをクリックすると次のようにメッセージが表示されます。

メッセージ表示